The following text was written to the standard output stream when the AlternateBalloons.java program was executed from IntelliJ.
/* * Program that paints 300 red, yellow, orange and random color balloons in one sky. * It will feature commands */ package npw; import painter.SPainter; import shapes.SCircle; import shapes.SSquare; import javax.swing.*; import java.awt.*; import java.util.Random; public class AlternateBalloons { //REQUIRED INFRASTRUCTURE public AlternateBalloons() { paintTheImage(); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new AlternateBalloons(); } }); } // THE PAINTER DOING ITS THING private void paintTheImage() { SPainter painter= new SPainter("AlternateBalloons" , 600 ,600); paintSky(painter); int nrOfAlternateBalloons = 300; paintAlternateBalloons(painter, nrOfAlternateBalloons); } private void paintAlternateBalloons(SPainter painter, int nrOfAlternateBalloons) { int i = 1; while (i <= nrOfAlternateBalloons) { paintOneAlternateBalloon(painter); i = i + 1; } } private void paintOneAlternateBalloon(SPainter painter) { Random rgen = new Random(); int rn = rgen.nextInt(6); if ( rn == 0 ) { painter.setColor(Color.RED); } else if ( rn == 1) { painter.setColor(Color.ORANGE); } else if ( rn == 2) { painter.setColor(Color.YELLOW); } else if (rn == 3) { painter.setColor(randomColor()); } else if (rn == 4) { painter.setColor(randomColor()); } else if ( rn == 5 ) { painter.setColor( randomColor()); }else { painter.setColor(randomColor()); } painter.move(); int alternateBalloonRadius = 30; SCircle alternateBalloon = new SCircle(alternateBalloonRadius); painter.paint(alternateBalloon); painter.setColor(Color.BLACK); painter.draw(alternateBalloon); } private Color randomColor() { int rv = (int) (Math.random()* 256); int gv = (int) (Math.random()* 256); int bv = (int) (Math.random() * 256); return new Color (rv,gv,bv); } private void paintSky(SPainter painter) { painter.setColor(Color.BLUE); SSquare sky = new SSquare(2000); painter.paint(sky); } }